home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1993
/
Internet Info CD-ROM (Walnut Creek) (1993).iso
/
standards
/
ansi
/
X3T9
/
area05
/
90-021r0.txt
< prev
next >
Wrap
Text File
|
1992-05-12
|
11KB
|
183 lines
OKLAHOMA CITY OPERATIONS
_________________________________________________________________
Date: 1/8/90
John Lohmeyer
Chairman X3T9.2
Subject: Additional SCSI Caching Control
Prior to the forwarding of SCSI-2 I failed to note the omission of an
important caching control function. My recollection is that the capability to
overtly control the number of cache segments was in the original proposal. At
some early stage of the process this important function was dropped.
Since I failed to notice prior to forwarding that the function was not
included, I propose that it be documented and added to SCSI-3. If the
committee is ill-advised enough to bring SCSI-2 back for technical changes,
rather than going ahead with the long needed publication, I would of course
request that it be added to SCSI-2.
In addition to not noticing when it was deleted, I do not recall any
rationale for removing it. It appears that its omission mistakenly prejudices
the standard in favor of host (including HBA) based caching. While the
embedded SCSI devices can optimize their performance based upon apriori or
learned information, many system providers will want to be able to control
more of the SCSI based caching than SCSI-2 currently provides for.
The most obvious omission is the ability to control the number of active
segments. The attached proposal, Alternative 1, incorporates the capability
we, and some other vendors, provide in a Vendor Not So Unique Page Code 38h.
Alternative 2 expands this capability and provides additional opportunities
for caching control. Since it provides more capability, I recommend the
adoption of Alternative 2.
G.E. Milligan
Manager of Product Planning
Alternative 1
Caching Page
Caching Page
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 | PS |Reserved| Page Code (08h) |
-----|-----------------------------------------------------------------------|
1 | Page Length (0Ah) |
-----|-----------------------------------------------------------------------|
2 | Number of Cache Segments | WCE | MF | RCD |
-----|-----------------------------------------------------------------------|
3 | Demand Read Retention Priority | Write Retention Priority |
-----|-----------------------------------------------------------------------|
4 | (MSB) |
-----|--- Disable Pre-fetch Transfer Length ---|
5 | (LSB) |
-----|-----------------------------------------------------------------------|
6 | (MSB) |
-----|--- Minimum Pre-fetch ---|
7 | (LSB) |
-----|-----------------------------------------------------------------------|
8 | (MSB) |
-----|--- Maximum Pre-fetch ---|
9 | (LSB) |
-----|-----------------------------------------------------------------------|
10 | (MSB) |
-----|--- Maximum Pre-fetch Ceiling ---|
11 | (LSB) |
==============================================================================
The Number of Segments (bits 3 through 7 of Byte 2) advises the drive how
many segments the host requests that the cache be divided into.
Alternative 2
Caching Page
Caching Page
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 | PS |Reserved| Page Code (08h) |
-----|-----------------------------------------------------------------------|
1 | Page Length (12h) |
-----|-----------------------------------------------------------------------|
2 | FV | ABPF | SLOG | DISC | SIZE | WCE | MF | RCD |
-----|-----------------------------------------------------------------------|
3 | Demand Read Retention Priority | Write Retention Priority |
-----|-----------------------------------------------------------------------|
4 | (MSB) |
-----|--- Disable Pre-fetch Transfer Length ---|
5 | (LSB) |
-----|-----------------------------------------------------------------------|
6 | (MSB) |
-----|--- Minimum Pre-fetch ---|
7 | (LSB) |
-----|-----------------------------------------------------------------------|
8 | (MSB) |
-----|--- Maximum Pre-fetch ---|
9 | (LSB) |
-----|-----------------------------------------------------------------------|
10 | (MSB) |
-----|--- Maximum Pre-fetch Ceiling ---|
11 | (LSB) |
-----|-----------------------------------------------------------------------|
12 | Number of Cache Segments |
-----|-----------------------------------------------------------------------|
13 | (MSB) |
-----|--- Cache Segment Size ---|
14 | (LSB) |
-----|-----------------------------------------------------------------------|
15 | Number of FIFO Segments |
-----|-----------------------------------------------------------------------|
16 | (MSB) |
-----|--- FIFO Segment Size ---|
17 | (LSB) |
-----|-----------------------------------------------------------------------|
18 | Reserved |
-----|-----------------------------------------------------------------------|
19 | Reserved |
==============================================================================
The FIFO valid (FV) bit (Bit 7 Byte 2), when set to one, requests that the
SCSI device assign a portion of the cache facility according to the SIZE bit
and Bytes 15 through 17. If FV is set to zero, Bytes 15-17 are not valid.
The Abort Pre-Fetch (ABPF) bit (Bit 6 Byte 2), when set to one, requests
that the SCSI device abort the pre-fetch upon selection. When set to zero, the
termination of any active pre-fetch is operation and/or vendor specific.
The Statistical Logging (SLOG) enable bit (Bit 5 Byte 2), when set to one,
requests that the SCSI device perform caching performance logging during
subsequent operations. The logging may be used for internal device
optimization or reported by the Log Sense command for optimization by the
host. When set to zero, SLOG requests that caching performance logging be
disabled to reduce overhead time or to prevent non pertinent operations from
impacting tuning values.
The Discontinuity (DISC) bit (Bit 4 Byte 2), when set to one, requests that
the SCSI device continue the pre-fetch across time discontinuities, such as
across cylinders (or tracks in an embedded servo drive), up to the limits of
the buffer space available for pre-fetch. When set to zero, the DISC requests
that pre-fetches be truncated (or wrapped) at time discontinuities.
The Size Enable (SIZE) bit (Bit 3 Byte 2), when set to one, indicates that
the Cache Segment Size, and/or FIFO Segment Size if FV equals one, are to be
used to control caching segmentation. When SIZE equals zero, the Initiator
requests that the Number of Cache Segments, and/or Number of FIFO Segments if
FV equals one, are to be used to control caching segmentation. Simultaneous
use of both number of segments and segment size is vendor specific.
The Number of Cache Segments (Byte 12) advises the drive how many segments
the host requests that the cache be divided into.
The Cache Segment Size field (Bytes 13 and 14) indicates the requested
segment size in Bytes. This standard assumes that this field is valid only
when the SIZE bit is one.
The Number of FIFO Segments (Byte 15), with SIZE equals zero, advises the
drive how many segments the host requests that the SCSI device allocate for a
FIFO function when all other cache segments are occupied by data to be
retained. If the number is at least one, caching functions in the other
segments need not be impacted by cache misses to perform the SCSI buffer
function. The impact of Number of FIFO Segments equal 0 is vendor specific.
The FIFO Segment Size field (Bytes 16 and 17) indicates the requested
segment size in Bytes. This standard assumes that this field is valid only
when the SIZE bit and FV equals one.